package org.example.modules.user.service;

import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.example.modules.user.common.Commsult;
import org.example.modules.user.entry.UserWallet;
import org.example.modules.user.entry.WalletDetails;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Description UserWalletService
 * @Author xiaotian
 * @Date 2025-04-20
 */
public interface UserWalletService extends IService<UserWallet> {
    /**
     * 获取钱包余额
     *
     * @return 钱包余额
     */
    UserWallet getWalletBalance(String userName);

    /**
     * 提交充值
     *
     * @param request 充值请求参数
     */
    void recharge(JSONObject request);

    /**
     * 提交提现
     *
     * @param request 提现请求参数
     */
    void withdraw(JSONObject request);

    List<WalletDetails> getWalletDetails();

    Integer orderPay(BigDecimal amount);
}